Usenix Enigma 2016 - What Makes Software Exploitation Hard